package com.mz.mattress.client.service;

import com.mz.mattress.api.common.Result;
import com.mz.mattress.api.entity.Coupon;
import com.mz.mattress.api.enums.CouponSendTypeEnum;


public interface CouponService {

//    Result<IPage<Coupon>> listPage(Long memberId, Integer pageNo, Integer pageSize);
//
//    //根据发放类型，发放优惠券
//    Result<List<MemberCoupon>> sendCoupon(Long memberId, CouponSendTypeEnum couponSendTypeEnum);

    //根据发放类型，发放优惠券
    void sendCoupon(Long memberId, CouponSendTypeEnum couponSendTypeEnum);

    Coupon getById(Integer id);

    //发放全部优惠券
//    void sendCoupon();

    //发放指定优惠券
    Result sendCoupon(Long memberId, Integer couponId, Integer count);

    //发放指定优惠券
    Result sendCoupon(Long memberId, Coupon coupon, Integer count);

    //回退优惠券
    void backCoupon(Long orderId);

    /**
     * @param mobile
     * @param couponId
     * @param count
     */
    Result sendCouponByMobile(String mobile, Integer couponId, Integer count);

}
